The present invention relates to industrial control systems and the like, and in particular, to an industrial control system that may divide tasks among multiple machines or components using “market” model employing bids and counter bids.
A variety of commercial and industrial processes may be automated using an industrial controller. Generally, such a controller is a specialized computer providing input/output (I/O) circuitry attached respectively to sensors and actuators on the machines and components. The industrial controller executes a control program to read inputs from sensors on the machines implementing the process, and based on the values of those inputs and control logic of the control program, produces outputs to actuators to control the process. Industrial controllers are frequently modular in construction, so that the number of input and output circuits, and the processor power may be tailored to the demands of the particular process.
A significant cost in automating a process with an industrial controller is the cost of preparing the control program. The same variation in processes that drives the need for the controller architecture to be flexible normally requires a control program to be written specifically for or extensively modified for the process. This development of the control program can be prohibitively expensive for complex processes.
The problems related to developing control programs have spurred investigation of systems of autonomous cooperative units (ACU). Each ACU operates with knowledge of the capabilities of an associated machine or component of the process and according to a set of general rules which incorporate a market model, and a general description of control problem, bid and counter bid to solve the control problem. Effectively, the ACUs write their own program, and the ease with which they program themselves allows the ACUs to reprogram themselves freely to accommodate changes in the control problem including loss of particular ACUs and/or equipment.
Pending U.S. Pat. Nos. 6,091,998 issued Jul. 18, 2000, and 6,272,391 issued Aug. 7, 2001, assigned to the assignee of the present invention, and hereby incorporated by reference, describe such systems of ACUs in the context of a rolling mill in which various components of the mill including furnaces, a rolling mill, cooling devices, cooperatively allocate jobs among themselves based on a job description. Such autonomous control is, however, applicable to a wide variety of situations in which machine elements of the process must organize themselves.
This breadth of possible applications of systems of ACUs presents a problem in creating the general job description that the ACUs use as a framework about which to organize their efforts. As described in the previously referenced applications, such a job description may be written in a job description language (JDL) parsed according to specific rules by the ACUs. To the extent that the JDL and parsers must be designed afresh for each application, some of the advantages of an ACU system over a controller using a conventional custom written control program may be lost.